import  tornado.web   #tornado.web：基础web框架模块
from views import index
from config import  setting #导入配置文件中的setting
import config       #config配置文件
import os

"""
#application中设置一个函数子类Application
    存放路由
    
    ##简单的形式(r"/",index.IndexHandler)
    
    ## 传参形式(r"/good",index.GoodHandler,{"str1":"入门小白","str2":"高阶大神"}),这里是服务器自己传参，如果要进行用户传参，则对应修改编辑方法
"""

class Application(tornado.web.Application):  #tornado.web.Application的子类
    def __init__(self):
        handlers=[
            tornado.web.url(r"/search/(.*)/", index.SearchHandler, name="search"),#搜索页面
            tornado.web.url(r"/search/detail/(.*)", index.DetailHandler, name="detail"),
            tornado.web.url(r"/search/search_null", index.Search_nullHandler, name="search_null"),  # 错误页面
            tornado.web.url(r"/download/(.*)", index.MainHandler,name="download"),
            (r"/(.*)$",tornado.web.StaticFileHandler,{"path":os.path.join(config.BASE_DIRS,"static/html"),"default_filename":"home.html"}),
            # StaticFileHandler应用静态文件,注意要放在所有路由的下面。用来放静态主页
        ]
        super().__init__(handlers,**setting)
        #super()函数是用于调用父类(超类)的一个方法。
        #Python3可以使用直接使用super().xxx代替super(Class, self).xxx:
        #执行的是tornado.web.Application的init，再将handlers传参
        #添加配置文件，参数里面加入**setting，（即**kwargs）
